package com.maezia.tdr.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.maezia.tdr.common.exception.DriveException;
import com.maezia.tdr.common.exception.TooManyException;
import com.maezia.tdr.domain.dto.ReportInfoDto;
import com.maezia.tdr.domain.po.TestDriveReport;
import com.maezia.tdr.domain.vo.ReportVo;

public interface ReportService extends IService<TestDriveReport> {

    TestDriveReport getByMd5(String md5);

    ReportVo getReportInfo(ReportInfoDto reportInfo) throws TooManyException, DriveException;

    void refreshReportCache(TestDriveReport report);

    ReportVo getReportVo(String md5);

    boolean isReportExpired(String md5);
}
